* Step 1: DependencyPairs WORST_CASE(?,O(1))
+ Considered Problem:
- Strict TRS:
=(x,y) -> xor(x,xor(y,true()))
implies(x,y) -> xor(and(x,y),xor(x,true()))
not(x) -> xor(x,true())
or(x,y) -> xor(and(x,y),xor(x,y))
- Signature:
{=/2,implies/2,not/1,or/2} / {and/2,true/0,xor/2}
- Obligation:
innermost runtime complexity wrt. defined symbols {=,implies,not,or} and constructors {and,true,xor}
+ Applied Processor:
DependencyPairs {dpKind_ = DT}
+ Details:
We add the following dependency tuples:
Strict DPs
=#(x,y) -> c_1()
implies#(x,y) -> c_2()
not#(x) -> c_3()
or#(x,y) -> c_4()
Weak DPs
and mark the set of starting terms.
* Step 2: UsableRules WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
=#(x,y) -> c_1()
implies#(x,y) -> c_2()
not#(x) -> c_3()
or#(x,y) -> c_4()
- Weak TRS:
=(x,y) -> xor(x,xor(y,true()))
implies(x,y) -> xor(and(x,y),xor(x,true()))
not(x) -> xor(x,true())
or(x,y) -> xor(and(x,y),xor(x,y))
- Signature:
{=/2,implies/2,not/1,or/2,=#/2,implies#/2,not#/1,or#/2} / {and/2,true/0,xor/2,c_1/0,c_2/0,c_3/0,c_4/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {=#,implies#,not#,or#} and constructors {and,true,xor}
+ Applied Processor:
UsableRules
+ Details:
We replace rewrite rules by usable rules:
=#(x,y) -> c_1()
implies#(x,y) -> c_2()
not#(x) -> c_3()
or#(x,y) -> c_4()
* Step 3: Trivial WORST_CASE(?,O(1))
+ Considered Problem:
- Strict DPs:
=#(x,y) -> c_1()
implies#(x,y) -> c_2()
not#(x) -> c_3()
or#(x,y) -> c_4()
- Signature:
{=/2,implies/2,not/1,or/2,=#/2,implies#/2,not#/1,or#/2} / {and/2,true/0,xor/2,c_1/0,c_2/0,c_3/0,c_4/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {=#,implies#,not#,or#} and constructors {and,true,xor}
+ Applied Processor:
Trivial
+ Details:
Consider the dependency graph
1:S:=#(x,y) -> c_1()
2:S:implies#(x,y) -> c_2()
3:S:not#(x) -> c_3()
4:S:or#(x,y) -> c_4()
The dependency graph contains no loops, we remove all dependency pairs.
* Step 4: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Signature:
{=/2,implies/2,not/1,or/2,=#/2,implies#/2,not#/1,or#/2} / {and/2,true/0,xor/2,c_1/0,c_2/0,c_3/0,c_4/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {=#,implies#,not#,or#} and constructors {and,true,xor}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(1))